class Solution1 {
    public int mySqrt(int x) {
        //特殊情况处理
        if(x<1) return 0;

        long left = 0;
        long right = x;
        while(left<right) {
            long mid = left +(right-left+1)/2;
            if(mid*mid<=x) left = mid;
            else right=mid-1;//这里有-1，那么上面求mid就需要+1
        }
        return (int)left;
    }
}